Part X: Spatial Analysis Research Questions
Understanding the spatial distribution of large-scale, or industrial-scale, solar footprints (i.e., rooftop, parking lot, or ground solar) and socioeconomic conditions in California is an important issue to understand for social and environmental reasons. Knowing the locations of large-scale solar facilities and how they overlap with high densities of minority populations can help identify environmental justice concerns, inform policymakers’ decisions, and ensure renewable energy efforts are equitably distributed. To visualize the spatial distribution of solar footprints in California and minority population sizes in proximity, the following research questions were addressed:
What county in California has the largest area in acres of industrial (large-scale) solar footprint and what is the dominant type of facility (i.e., rooftop, parking lot, or ground solar)?
What is the spatial distribution of industrial solar footprints and minority population size in California? What county in California has the highest minority population ranking and what is the dominant type of industrial solar footprint?
Finding the Data:
For the spatial analysis portion of this project, the following datasets were used: (I) Solar Footprints in California GeoJSON data from the California Energy Commission; (II) 2018 Social Vulnerability Index CSV file from the Agency for Toxic Substances and Disease Registry; and (III) a USA Counties Shapefile filtered for California counties. The solar footprints dataset was found through the Environmental Data Initiative using the Google Dataset Search by typing in “solar panel locations in California”. The last two datasets were used in class but filtered for California.
Explaining the data:
The solar footprint feature class is a dataset that combines imagery to interpret a footprint of medium to large scale solar facilities throughout California and was last updates in August 2023. The feature class consists of polygons representing solar footprints and were digitized from imagery. The imagery from this dataset was obtained from Esri World Imagery, USGS National Agriculture Imagery Program (NAIP), and 2020 SENTINEL 2 Satellite Imagery, 2023. This dataset includes solar facilities with larger footprints, such as large rooftops and parking lot structures, but does not contain information on small scale solar, such as residential footprints. Specifically, it includes data on rooftop solar on large buildings, parking lot solar greater than 1 acre or clustered, and ground solar greater than 1 acre, or clustered. The features were then classified into urban and rural areas with the application of 42 U.S. Code $ 1490 rural definition. The footprint for this dataset is 129,742 acres. The Solar Footprint GeoJSON dataset is a type of format that allows us to access data directly without requiring downloads.
The CDC Social Vulnerability Index (CDC SVI) is a tool created by the Agency for Toxic Substances and Disease Registry (ATSDR) to help public health officials and emergency response planners identify and map communities that will most likely need support before, during, and after a hazardous event. The 15 social factors, such as, information about unemployment, minority status, and disability and groups them into four categories. The categories include socioeconomic status (unemployed, below the poverty line, income level, and high school diploma status), household composition and disability (aged 65 or older, aged 17 or younger, disability status, marital status), minority status and language abilities, and housing and transportation type. Each Census tract then receives a ranking for each theme and then an overall ranking, where higher values are correlated to greater vulnerability.
The USA Counties shapefile filtered for California contains attribute information on STATEFP, COUNTYFP, COUNTYNS, AFFGEOID, GEOID, NAME, LSAD, ALAND, AWATER, and a geometry. The STATEFP and COUNTYFP are state and county specific codes, respectively.
Data Wrangling Methods:
To import the Solar Footprints shapefile and USA Counties shapefile dataset into R, I used the “sf” package and “st_read” function to read in the dataset. The Social Vulnerability Index file was read in using the “utils” packages and “read.csv()” function. The USA Counties shapefile dataset contained all states and associated counties in the US, however, our research question is focused on California only. To specifically target California data, we utilized the “dplyr” package along with the “filter()” function to isolate records associated with the state code “06,” corresponding to California’s STATEFPS code. For the Solar Footprint and Social Vulnerability data, I wrangled the dataset using a pipe, the “dpylr” package and “select()” function to select for the county name, type of solar panel, urban or rural status, and the geometry and then the county, FIPS, location, total population, population in poverty, and population of minorities, respectively. The Social Vulnerability dataset also required that the FIPS code be converted to a factor.
PART THREE: Spatial Analysis
#explore the dataset by looking at the column names
colnames(Solar.footprint)
## [1] "COUNTYNAME" "Type" "Urban_Rural" "Acres" "geometry"
colnames(counties_sf)
## [1] "STATEFP" "COUNTYFP" "COUNTYNS" "AFFGEOID" "GEOID" "NAME"
## [7] "LSAD" "ALAND" "AWATER" "geometry"
colnames(svi2018_CA_raw)
## [1] "COUNTY" "FIPS" "LOCATION" "E_TOTPOP" "E_POV" "E_MINRTY"
#show the number of records
nrow(Solar.footprint)
## [1] 5397
nrow(counties_sf)
## [1] 3220
nrow(svi2018_CA_raw)
## [1] 58
#check coordinate system
st_crs(Solar.footprint)
## Coordinate Reference System:
## User input: NAD83 / California Albers
## wkt:
## PROJCRS["NAD83 / California Albers",
## BASEGEOGCRS["NAD83",
## DATUM["North American Datum 1983",
## ELLIPSOID["GRS 1980",6378137,298.257222101,
## LENGTHUNIT["metre",1]]],
## PRIMEM["Greenwich",0,
## ANGLEUNIT["degree",0.0174532925199433]],
## ID["EPSG",4269]],
## CONVERSION["California Albers",
## METHOD["Albers Equal Area",
## ID["EPSG",9822]],
## PARAMETER["Latitude of false origin",0,
## ANGLEUNIT["degree",0.0174532925199433],
## ID["EPSG",8821]],
## PARAMETER["Longitude of false origin",-120,
## ANGLEUNIT["degree",0.0174532925199433],
## ID["EPSG",8822]],
## PARAMETER["Latitude of 1st standard parallel",34,
## ANGLEUNIT["degree",0.0174532925199433],
## ID["EPSG",8823]],
## PARAMETER["Latitude of 2nd standard parallel",40.5,
## ANGLEUNIT["degree",0.0174532925199433],
## ID["EPSG",8824]],
## PARAMETER["Easting at false origin",0,
## LENGTHUNIT["metre",1],
## ID["EPSG",8826]],
## PARAMETER["Northing at false origin",-4000000,
## LENGTHUNIT["metre",1],
## ID["EPSG",8827]]],
## CS[Cartesian,2],
## AXIS["easting (X)",east,
## ORDER[1],
## LENGTHUNIT["metre",1]],
## AXIS["northing (Y)",north,
## ORDER[2],
## LENGTHUNIT["metre",1]],
## USAGE[
## SCOPE["State-wide spatial data management."],
## AREA["United States (USA) - California."],
## BBOX[32.53,-124.45,42.01,-114.12]],
## ID["EPSG",3310]]
st_crs(counties_sf)
## Coordinate Reference System:
## User input: NAD83
## wkt:
## GEOGCRS["NAD83",
## DATUM["North American Datum 1983",
## ELLIPSOID["GRS 1980",6378137,298.257222101,
## LENGTHUNIT["metre",1]]],
## PRIMEM["Greenwich",0,
## ANGLEUNIT["degree",0.0174532925199433]],
## CS[ellipsoidal,2],
## AXIS["latitude",north,
## ORDER[1],
## ANGLEUNIT["degree",0.0174532925199433]],
## AXIS["longitude",east,
## ORDER[2],
## ANGLEUNIT["degree",0.0174532925199433]],
## ID["EPSG",4269]]
# No CRS
st_crs(svi2018_CA_raw)
## Coordinate Reference System: NA
#Reveal the extent of this dataset via the st_bbox() function
st_bbox(Solar.footprint)
## xmin ymin xmax ymax
## -345655.2 -603247.8 503885.4 340242.9
st_bbox(counties_sf)
## xmin ymin xmax ymax
## -179.17426 17.91377 179.77392 71.35256
# Filter the data to only include California counties
ca_counties_sf <- counties_sf[counties_sf$STATEFP == "06", ]
#plot the data, colored by solar type, by county
mapView(Solar.footprint, zcol = "Type", caption = "Solar Foot Print by Type in California")
mapView(ca_counties_sf, zcol = "COUNTYFP")
#Join the SVI attributes to the county spatial features
counties_sf_join <- merge(x = ca_counties_sf,
y = svi2018_CA_raw,
by.x = "GEOID",
by.y = "FIPS" )
#Tidyverse version of the join
counties_sf_join <- ca_counties_sf %>%
left_join(svi2018_CA_raw, by = c("GEOID" = "FIPS") )
## Simple feature collection with 51 features and 2 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: -345655.2 ymin: -603247.8 xmax: 503885.4 ymax: 340242.9
## Projected CRS: NAD83 / California Albers
## # A tibble: 51 × 3
## COUNTYNAME total_acres geometry
## <chr> <dbl> <MULTIPOLYGON [m]>
## 1 Alameda County 407. (((-188738.7 -40476.37, -188719.2 -40440.53,…
## 2 Amador County 9.75 (((-87878.43 39355.68, -87905.11 39361.05, -…
## 3 Butte County 129. (((-159088.5 172178, -158960.7 172175.3, -15…
## 4 Calaveras County 1.74 (((-80745.17 22557.64, -80747.01 22582.39, -…
## 5 Colusa County 25.7 (((-171600.2 103323.6, -171601.4 103238.1, -…
## 6 Contra Costa County 425. (((-206996.1 -9022.553, -207004.2 -9312.181,…
## 7 El Dorado County 47.7 (((-92055.43 67021.03, -92053.8 67140.97, -9…
## 8 Fresno County 8463. (((-20980.2 -212185.8, -21187.05 -212188.6, …
## 9 Glenn County 28.1 (((-167560.3 157707.4, -167485.4 157708, -16…
## 10 Humboldt County 10.3 (((-343080.9 322871.9, -343108.9 322875.7, -…
## # ℹ 41 more rows
## Simple feature collection with 523 features and 4 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: -7349.479 ymin: -354383.3 xmax: 213944.8 ymax: -247061.7
## Projected CRS: NAD83 / California Albers
## First 10 features:
## COUNTYNAME Type Urban_Rural Acres geometry
## 1 Kern County Ground Rural 46.32575 MULTIPOLYGON (((146161.2 -3...
## 2 Kern County Ground Rural 15.43442 MULTIPOLYGON (((136874.2 -3...
## 3 Kern County Ground Rural 110.92617 MULTIPOLYGON (((137727.4 -3...
## 4 Kern County Ground Rural 120.58597 MULTIPOLYGON (((144947.8 -3...
## 5 Kern County Ground Rural 294.86051 MULTIPOLYGON (((143188.2 -3...
## 6 Kern County Ground Rural 72.28472 MULTIPOLYGON (((145722.8 -3...
## 7 Kern County Ground Rural 48.79524 MULTIPOLYGON (((136473.8 -3...
## 8 Kern County Ground Rural 109.50525 MULTIPOLYGON (((139318.1 -3...
## 9 Kern County Ground Rural 484.39463 MULTIPOLYGON (((133715.3 -3...
## 10 Kern County Ground Rural 914.43726 MULTIPOLYGON (((136128.3 -3...
## Simple feature collection with 3 features and 2 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: -7349.479 ymin: -354383.3 xmax: 213944.8 ymax: -247061.7
## Projected CRS: NAD83 / California Albers
## # A tibble: 3 × 3
## Type total_acres geometry
## <chr> <dbl> <MULTIPOLYGON [m]>
## 1 Ground 30831. (((52357.46 -318546.3, 52521.87 -318544.7, 52522.24 -3185…
## 2 Parking 156. (((80703.97 -303245.2, 80702.1 -303128.8, 80819.25 -30312…
## 3 Rooftop 133. (((82161.81 -300727.5, 82221.8 -300727, 82221.94 -300844.…
## Simple feature collection with 681 features and 4 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 109424.7 ymin: -475452 xmax: 212522 ymax: -353785.8
## Projected CRS: NAD83 / California Albers
## First 10 features:
## COUNTYNAME Type Urban_Rural Acres
## 1 Los Angeles County Rooftop Urban 3.876734
## 2 Los Angeles County Rooftop Urban 1.573428
## 3 Los Angeles County Rooftop Urban 2.038738
## 4 Los Angeles County Rooftop Urban 7.323853
## 5 Los Angeles County Rooftop Urban 3.906145
## 6 Los Angeles County Parking Urban 4.582433
## 7 Los Angeles County Rooftop Urban 8.035653
## 8 Los Angeles County Rooftop Urban 4.778211
## 9 Los Angeles County Rooftop Urban 11.503351
## 10 Los Angeles County Parking Urban 2.102963
## geometry
## 1 MULTIPOLYGON (((159860.9 -4...
## 2 MULTIPOLYGON (((159510.1 -4...
## 3 MULTIPOLYGON (((159384.8 -4...
## 4 MULTIPOLYGON (((161096.1 -4...
## 5 MULTIPOLYGON (((159844 -472...
## 6 MULTIPOLYGON (((159872.3 -4...
## 7 MULTIPOLYGON (((158629.4 -4...
## 8 MULTIPOLYGON (((158855.4 -4...
## 9 MULTIPOLYGON (((158947.1 -4...
## 10 MULTIPOLYGON (((165882.3 -4...
## Simple feature collection with 3 features and 2 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 109424.7 ymin: -475452 xmax: 212522 ymax: -353785.8
## Projected CRS: NAD83 / California Albers
## # A tibble: 3 × 3
## Type total_acres geometry
## <chr> <dbl> <MULTIPOLYGON [m]>
## 1 Ground 9491. (((120026.2 -430836.1, 119988.2 -430825.6, 119962.7 -4308…
## 2 Parking 467. (((142708.4 -439428, 142734.5 -439470, 142645.2 -439514.9…
## 3 Rooftop 1127. (((118873.3 -430113.1, 118885.1 -430165.6, 118856.6 -4301…
Spatial Analysis Summary and Conclusions
As shown in Figure XX, the county in California with the largest total solar footprint in acres is Kern County, with a total of 31120.0 acres. The output shows that the dominant type of solar facility in Kern County is Ground, with 30831.1 acres. This indicates that Kern County has the largest area of industrial (large-scale) ground-mounted solar footprint in California.
From the CA_highest_E_MINRTY map, it is clear that Los Angeles contains the highest minority population, with 7439000 people. Similar to research question one, the dominant solar footprint type is ground, at 9490.9 acres.
<add references here if relevant, otherwise delete this section>